package com.ibm.cps.newmessage;

import com.fasterxml.jackson.databind.node.ObjectNode;
import com.ibm.interfaces.IMessageClient;
import com.ibm.util.JSONUtility;
import com.ibm.util.exception.CPSException;

public abstract class AbstractDataSourceMetadata extends
		BasicDataSourceMetadata {

	public AbstractDataSourceMetadata(String metadata) throws CPSException {
		this(JSONUtility.fromObjectString(metadata));
	}

	public AbstractDataSourceMetadata(ObjectNode node) throws CPSException {
		super(node);
	}

	public abstract MetadataInputSchema getInputMetadataSchema();

	public abstract IMessageClient getDataSourceConsumerClient()
			throws CPSException;

	public abstract String getSubscribeTarget();

}
